perm filename CONCEP.TOC[FTL,LSP] blob sn#857434 filedate 1988-05-26 generic text, type T, neo UTF8
!9!!1--1
!0Common Lisp Object System Specification!!1--1
!11. Programmer Interface Concepts!!1--1
!9CONTENTS!!1--2
!2Introduction!!1--5
!2Error Terminology!!1--6
!2Classes!!1--8
!3Defining Classes!!1--9
!3Creating Instances of Classes!!1--10
!3Slots!!1--10
!3Accessing Slots!!1--11
!2Inheritance!!1--12
!3Inheritance of Methods!!1--12
!3Inheritance of Slots and Slot Options!!1--12
!3Inheritance of Class Options!!1--13
!3Examples!!1--14
!2Integrating Types and Classes!!1--15
!2Determining the Class Precedence List!!1--18
!3Topological Sorting!!1--18
!3Examples!!1--19
!2Generic Functions and Methods!!1--21
!3Introduction to Generic Functions!!1--21
!3Introduction to Methods!!1--22
!3Agreement on Parameter Specializers and Qualifiers!!1--24
!3Congruent Lambda-Lists for All Methods of a Generic Function!!1--25
!3Keyword Arguments in Generic Functions and Methods!!1--26
!2Method Selection and Combination!!1--27
!3Determining the Effective Method!!1--27
!4Selecting the Applicable Methods!!1--27
!4Sorting the Applicable Methods by Precedence Order!!1--27
!4Applying Method Combination to the Sorted List of Applicable Methods!!1--28
!3Standard Method Combination!!1--29
!3Declarative Method Combination!!1--31
!3Built-in Method Combination Types!!1--31
!2Meta-Objects!!1--33
!3Metaclasses!!1--33
!3Standard Metaclasses!!1--33
!3Standard Meta-objects!!1--33
!2Object Creation and Initialization!!1--35
!3Initialization Arguments!!1--36
!3Declaring the Validity of Initialization Arguments!!1--36
!3Defaulting of Initialization Arguments!!1--37
!3Rules for Initialization Arguments!!1--38
!3Shared-Initialize!!1--39
!3Initialize-Instance!!1--40
!3Definitions of Make-Instance and Initialize-Instance!!1--41
!2Redefining Classes!!1--43
!3Modifying the Structure of Instances!!1--43
!3Initializing Newly Added Local Slots!!1--44
!3Customizing Class Redefinition!!1--44
!3Extensions!!1--45
!2Changing the Class of an Instance!!1--46
!3Modifying the Structure of the Instance!!1--46
!3Initializing Newly Added Local Slots!!1--46
!3Customizing the Change of Class of an Instance!!1--47
!2Reinitializing an Instance!!1--48
!3Customizing Reinitialization!!1--48